package com.navicoa.e_libreria.presentacion.comandos;

import com.navicoa.e_libreria.presentacion.VistaMain;
import com.vaadin.ui.ComponentContainer;
import com.vaadin.ui.MenuBar.Command;
import com.vaadin.ui.MenuBar.MenuItem;

public class Comando implements Command{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private VistaMain vM;
	protected String DIRECCION_PACKAGE = "com.navicoa.e_libreria.presentacion.secciones.";
	protected String NOMBRE_DESTINO_CLASE = "";
	
	public Comando(VistaMain vm){
		vM = vm;
	}
	
	protected void lanzar(String claseDestino){
		try {
			vM.setMain((ComponentContainer)Class.forName(claseDestino).newInstance());
		} catch (InstantiationException e) {
			// TODO Bloque catch generado automáticamente
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Bloque catch generado automáticamente
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Bloque catch generado automáticamente
			e.printStackTrace();
		}
	}
	
	public void menuSelected(MenuItem selectedItem) {
		lanzar(DIRECCION_PACKAGE + NOMBRE_DESTINO_CLASE);
	}
}
